﻿using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;
using System.Text;
using Midi;

namespace AutomaTones.Model.MIDI
{
    /// <summary>
    /// NoteOut is a connector used for transporting the data we need for sending MidiOutput with the MidiOut class.
    /// </summary>
    /// <author>Anders Bech Mellson, anbh@itu.dk</author>
    class NoteOut {
        public Pitch Pitch;
        public int Velocity;
        public int Controller;
        public int ControllerValue;

        /// <summary>
        /// Constructs a NoteOut connector.
        /// It can hold both Midi note data and controller data.
        /// However the controller data has default values,
        /// since it's most common to use the notes.
        /// </summary>
        public NoteOut(Pitch pitch, int velocity, int controller=0,int controllerValue=0) {
            Pitch = pitch;
            Velocity = velocity;
            this.Controller = controller;
            this.ControllerValue = controllerValue;
        }
    }
}
